home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SGI Developer Toolbox 6.1
/
SGI Developer Toolbox 6.1 - Disc 4.iso
/
public
/
Xpm
/
pixmap
/
pixmap.man.ascii
< prev
next >
Wrap
Text File
|
1994-08-01
|
57KB
|
1,182 lines
PIXMAP(1) X Version 11 (Release 4) PIXMAP(1)
NAME
pixmap - pixmap editor for X based on enhanced Xpm library
from Arnaud Le Hors - GROUPE BULL
SYNOPSIS
pixmap [-options ...]
DESCRIPTION
The pixmap program is a tool for creating or editing
rectangular images made up of colored pixels, i.e., pixmaps.
Pixmaps are intensively used in X to define window
backgrounds, icon images, etc.
The pixmap program can have two different interfaces, a
Athena widgets version and a Motif widgets version.
USAGE
Pixmap displays grid in which each square represents a
single pixel in the picture being edited. Squares can be
set, cleared, or inverted (this last operation will be
detailed later) directly with the buttons on the pointer and
a menu of higher level operations such as draw line and fill
circle is provided to the side of the grid. Another menu on
the top of the window allows files operations (Load, Save,
...), edit operations (Cut/Copy/Paste, attributes of pixmap
editing, ...) and colors operations (drawing color,
attributes of colors, ...). Pixmap uses a Pixmap widget to
represent the pixmap image.
Pixmaps are stored as a C string array variable suitable for
including in applications, using the format defined by
Arnaud Le Hors in his Xpm library (refer to Xpm manual for
format description). This format allows pixmaps to be used
indistinctly on monochrome, grey scale or color displays.
OPTIONS
Pixmap accepts the following options:
-display/-d display
This option specifies the name of the X server to use.
-geometry geometry
This option specifies the placement and size of the
pixmap program window on the screen. See X for details.
-help/-h
This option asks for the usage description of pixmap.
-size WIDTHxHEIGHT
This option specifies the size (width and height) in
Page 1 (printed 8/12/93)
PIXMAP(1) X Version 11 (Release 4) PIXMAP(1)
pixels of the pixmap to be edited.
-squares SIZE
This option specifies the size in display points to use
to represent each pixel (a square of SIZE points).
+grid/-grid
This option indicates that the grid lines in the Pixmap
widget should be displayed or not.
-stippled
This option turns off stipple drawing of transparent
pixels.
-stipple pixmap
This option specifies the depth 1 pixmap to use to draw
transparent pixels.
+axes/-axes
This option indicates that the axes in the Pixmap widget
should be displayed or not.
+proportional/-proportional
This option indicates that the pixels in the Pixmap
widget should be drawn proportional, i.e. in squares,
or not.
-hl color
This option specifies the color to use for highlighting
purposes. color can be any name accepted by the
XParseColor(3X11) function.
-fr color
This option specifies the color to use draw grid and
axes in Pixmap widget. color can be any name accepted
by the XParseColor(3X11) function.
-tr color
This option specifies the color to use to represent
transparent pixels. color can be any name accepted by
the XParseColor(3X11) function.
-fn/-font fontname
This option specifies the font to be used in pixmap.
-filename/-f/-in filename
This option specifies the name of the file from which
the pixmap to be edited should be loaded.
PIXELS EDITING WITH MOUSE
Pixels may be set, cleared, or inverted by pointing to them
and clicking one of the buttons indicated below. Multiple
Page 2 (printed 8/12/93)
PIXMAP(1) X Version 11 (Release 4) PIXMAP(1)
pixels can be changed at once by holding the button down and
dragging the cursor across them. Set pixels are filled with
the current color; cleared pixels are filled with white; and
inverted pixels are either set if they were originally
cleared or cleared otherwise.
Button 1
This button (usually leftmost on the pointer) is
used to set one or more pixels.
Button 2
This button (usually in the middle) is used to
invert one or more pixels.
Button 3
This button (usually on the right) is used to clear
one or more pixels.
Button 4
This button is used to clear one or more pixels.
Button 5
This button is used to clear one or more pixels.
Every button operation can be changed by means of resources
in the (/usr/lib/X11/app-defaults/Pixmap).
MENU COMMANDS
To make defining shapes easier, pixmap provides several
commands for drawing and manipulating the pixmap edited, and
commands for file management.
Commands are layed in a vertical bar at the left of the
Pixmap widget and in a menu bar at the top of the window.
Most of the drawing commands are located in the left bar,
where as file management and other general commands are
located in the top menu bar.
In the left bar, some commands are represented by icons.
They are, from left to right and up to down, Flip
horizontally, Up, Flip vertically, Left, Fold, Right, Rotate
right (counterclock), Down, Rotate left (clockwise).
Some commands are also available directly through the
keyboard when the mouse cursor is located on the Pixmap
widget. They will be mentionned as an accelerator in the
following description.
LEFT BAR COMMANDS
Undo
This command is used to undo the last operation.
Page 3 (printed 8/12/93)
PIXMAP(1) X Version 11 (Release 4) PIXMAP(1)
Only one operation can be undone. The accelerator
of this command is Any<Key>u.
Clear
This command is used to clear all of the pixels in
the pixmap as if Button 3 had been dragged through
every pixel in the pixmap. The accelerator of this
command is [Shift]<Key>c.
Set This command is used to set all of the pixels in
the pixmap to the current color, as if Button 1 had
been dragged through every pixel in the pixmap. The
accelerator of this command is [Shift]<Key>s.
Redraw
This command is used to redisplay the pixmap. The
accelerator of this command is Ctrl<Key>l.
Copy
This command is used to copy a region of the pixmap
from one location to another. When this command is
invoked, the region to copy should
be specified by pressing Button 1, dragging the
mouse and releasing Button 1. The region can now be
copied by pressing Button 1 with the cursor located
on the region selected, dragging the mouse and
releasing it where the upper left corner of the
region should be copied. If a region was already
selected with a Mark command, only the second phase
of the copy is necessary. The accelerator of this
command is available when a region has already been
selected and is Ctrl<Btn2Down> to drag the region
and Ctrl<Btn2Up> to draw it to point. This
accelerated command is identical to the Paste
command available through the Edit menu of the top
menu bar.
Move
This command is used to move a region of the pixmap
from one location to another. When this command is
invoked, the region to move should be specified by
pressing Button 1, dragging the mouse and releasing
Button 1. The region can now be moved by pressing
Button 1 with the cursor located on the region
selected, dragging the mouse and releasing it where
the upper left corner of the region should be
moved. The initial region is cleared. If a region
was already selected with a Mark command, only the
second phase of the move is necessary.
Mark
This command is used to mark a region to move or
Page 4 (printed 8/12/93)
PIXMAP(1) X Version 11 (Release 4) PIXMAP(1)
copy it later (commands Move and Copy above), or to
put it in the Cut&Paste buffer (commands Cut and
Copy of the Edit menu of the top menu bar). When
this command is invoked, the region should be
specified by pressing Button 1, dragging the mouse
and releasing Button 1. Once marked, the region is
highlighted. The accelerator of this command is
Ctrl<Btn1Down> to initiate the selection and
Ctrl<Btn1Up> to finish it.
Unmark
This command is used to unmark a region previously
marked. It will unhighlight the region. The
accelerator of this command is Ctrl<Btn3Down>.
Flip horizontally
This command is used to flip horizontally the whole
pixmap or the marked region. This means mirroring
horizontally the pixmap image. The mirror is placed
at the middle of the pixmap height. The
accelerator of this command is [Shift|Ctrl]<Key>h.
Up This command is used to move the whole pixmap or
the marked region up. Pixels at the top of the
pixmap are pushed back at the bottom of the new
pixmap. The accelerator of this command is
Any<Key>Up (not available in Motif version).
Flip vertically
This command is used to flip vertically the whole
pixmap or the marked region. This means mirroring
vertically the pixmap image. The mirror is placed
at the middle of the pixmap width. The accelerator
of this command is Any<Key>v.
Left
This command is used to move the whole pixmap or
the marked region left. Pixels at the left of the
pixmap are pushed back at the right of the new
pixmap. The accelerator of this command is
Any<Key>Left (not available in Motif version).
Fold
This command is used to "Fold" the pixmap. This
means splitting the pixmap image in four squares
(top left, top right, bottom left and bottom right)
and inverting them (top becomes bottom, left
becomes right, and so on). "Folding" twice a
pixmap does no change. The accelerator of this
command is [Shift|Ctrl]<Key>f.
Right
Page 5 (printed 8/12/93)
PIXMAP(1) X Version 11 (Release 4) PIXMAP(1)
This command is used to move the whole pixmap or
the marked region right. Pixels at the right of the
pixmap are pushed back at the left of the new
pixmap. The accelerator of this command is
Any<Key>Right (not available in Motif version).
Rotate right
This command is used to rotate the pixmap image or
the marked region right (clockwise) of 90 degrees.
Four Rotate right operations does no change. The
accelerator of this command is [Shift|Ctrl]<Key>r.
Down
This command is used to move the whole pixmap or
the marked region down. Pixels at the bottom of the
pixmap are pushed back at the top of the new
pixmap. The accelerator of this command is
Any<Key>Down (not available in Motif version).
Rotate left
This command is used to rotate the pixmap image or
the marked region left (counterclock) of 90
degrees. Four Rotate left operations does no
change. The accelerator of this command is
[Shift]<Key>l.
Point
This command is used to set, invert or clear a
pixel to the current color. It can be considered
as a mode. After selecting it, pixels are set,
inverted or cleared depending on the button used
(see Pixels Editing with the Mouse). If the mouse
button remains pressed while dragging the mouse,
more than one pixel can be affected. This command
has no accelerator.
Curve
This command is used to draw curved lines (set,
cleared or inverted). The curve is drawn while
dragging the mouse. This command can be considered
as a mode. Quite the same affect can be obtained by
dragging the mouse in point mode, the main
difference resides in the fact that pixels will be
drawn contiguously. This command has no
accelerator.
Line
This command is used to draw lines between two
points (set, cleared or inverted). The lines are
first drawn highlighted while mouse button remains
pressed. This command can be considered as a mode.
This command has no accelerator.
Page 6 (printed 8/12/93)
PIXMAP(1) X Version 11 (Release 4) PIXMAP(1)
Rectangle
This command is used to draw rectangles between two
points defining the two opposite corners of the
rectangle (set, cleared or inverted). The
rectangles are first drawn highlighted while mouse
button remains pressed. This command can be
considered as a mode. This command has no
accelerator.
Filled Rectangle
This command is used to draw filled rectangles
between two points defining the two opposite
corners of the rectangle (set, cleared or
inverted). The rectangles outlines are first drawn
highlighted while mouse button remains pressed.
This command can be considered as a mode. This
command has no accelerator.
Circle
This command will set, invert or clear the pixels
on a circle specified by a center and a point on
the curve. Small circles may not look very round
because of the size of the pixmap and the limits of
having to work with discrete pixels. This command
can be considered as a mode. This command has no
accelerator.
Filled Circle
This command will set, invert or clear all of the
pixels in a circle specified by a center and a
point on the curve. All pixels side and including
the circle are set. This command can be considered
as a mode. This command has no accelerator.
Flood Fill
This command will set all clear pixels in an
enclosed shape. The enclosed shape is determined by
all the pixels whose color is different from the
color of the pixel on which the user has clicked.
If the shape is not closed, the entire pixmap will
be filled. This command can be considered as a
mode. This command has no accelerator.
Set Hot Spot
This command allows the specification of a Hot
Spot. The Hot Spot is selected by clicking the Set
mouse button. Clicking Invert will invert the Hot
Spot, set or reset it depending on its previous
state. Hot spot is useful for cursor pixmaps and
are used to reference the sensible part of the
pixmap. This command has no accelerator.
Page 7 (printed 8/12/93)
PIXMAP(1) X Version 11 (Release 4) PIXMAP(1)
Clear Hot Spot
This command clears the current Hot Spot. This
command has no accelerator.
Set Port
This command allows to create a Port extension line
graphically. It is part of the customized Port
extension editor developped by Tim Wise (SES Inc.).
The Port is set on the pixmap image by clicking any
of the mouse button. This command has no
acelerator.
Clear Port
This command allows to remove a Port extension line
graphically. It is part of the customized Port
extension editor developped by Tim Wise (SES Inc.).
The Port onto which any mouse button was clicked is
cancelled. This command has no accelerator.
Move Port
This command allows to move a Port, that is to
change the coordinates specified in the Port
extension line. It is part of the customized Port
extension editor developped by Tim Wise (SES Inc.).
The Port onto which any mouse button was pressed is
moved with the mouse cursor until the mouse button
is released. This command has no accelerator.
Port Info...
This command allows to edit the information
associated to a Port, that is contained in a Port
extension line. It is part of the customized Port
extension editor developped by Tim Wise (SES Inc.).
The information associated with the Port onto which
any mouse button was clicked is displayed in a
dialog window. It can be edited in that dialog and
saved by clicking the "Okay" button of the dialog.
This command has no accelerator.
TOP MENU COMMANDS
Info
This command pops up an info window.
File MENU
Load...
This command is used to load a pixmap file in the
pixmap editor. A dialog window is poped up in which
a filename has to be provided. The operation can be
interrupted with the Cancel button of the dialog
window. The accelerator of this command is
Page 8 (printed 8/12/93)
PIXMAP(1) X Version 11 (Release 4) PIXMAP(1)
Alt<Key>l.
Insert...
This command is used to load a pixmap in the
Cut&Paste buffer of the pixmap editor. The contents
of the pixmap file can then be pasted on the
current pixmap. A dialog window is poped up in
which a filename has to be provided. The operation
can be interrupted with the Cancel button of the
dialog window. The accelerator of this command is
Alt<Key>i.
Save
This command is used to save the current pixmap in
the current file edited. By default, and until
otherwise changed by a Filename..., Load... or Save
As... operation, or by specifying the filename on
the command line, the filename is scratch. The
Filename... command can be used to change this
default filename. The accelerator of this command
is Alt<Key>s.
Save As...
This command is used to save the current pixmap in
a particular file which name has to be provided in
the dialog window which pops up. The operation can
be interrupted with the Cancel button of the dialog
window. The accelerator of this command is
Alt<Key>a.
Resize...
This command is used to resize the current pixmap
to the width and height specified in the dialog
window which pops up. The syntax is WIDTHxHEIGHT.
This operation is different from the Rescale...
one in the way that it just add or remove pixels to
the current pixmap without trying to fit the space
correctly with the pixmap image. The operation can
be interrupted with the Cancel button of the dialog
window. The accelerator of this command is
Alt<Key>r.
Rescale...
This command is used to rescale the current pixmap
image in order to make it fit a larger or smaller
space. The new width and height have to be
specified in the dialog window which pops up with
the syntax WIDTHxHEIGHT. The operation can be
interrupted with the Cancel button of the dialog
window. The accelerator of this command is
Alt<Key>e.
Page 9 (printed 8/12/93)
PIXMAP(1) X Version 11 (Release 4) PIXMAP(1)
Filename...
This command is used to change the current
filename, i.e., the name of the file in which the
pixmap will be saved with a Save operation. The
new filename has to be provided in the dialog
window which pops up. The operation can be
interrupted with the Cancel button of the dialog
window. The accelerator of this command is
Alt<Key>f.
Hints comment...
This command pops up a dialog window in which the
user can specify the hints section comment of the
pixmap file. The operation can be interrupted with
the Cancel button of the dialog window. The
accelerator of this command is Alt<Key>h.
Colors comment...
This command pops up a dialog window in which the
user can specify the colors section comment of the
pixmap file. The operation can be interrupted with
the Cancel button of the dialog window. The
accelerator of this command is Alt<Key>c.
Pixels comment...
This command pops up a dialog window in which the
user can specify the pixels section comment of the
pixmap file. The operation can be interrupted with
the Cancel button of the dialog window. The
accelerator of this command is Alt<Key>p.
Quit
This command causes pixmap to display a dialog box
asking whether or not it should save the pixmap (if
it has changed) and then exit. Answering yes is
the same as invoking Save; no causes pixmap to
simply exit; and cancel will abort the Quit command
so that more changes may be made. The accelerator
of this command is Alt<Key>q.
Edit MENU
Image
This command pops up a window in which the real
size pixmap is shown. This window can be closed by
clicking the mouse in it or by invoking Image once
again. When the window is poped up, an X mark is
displayed in the menu at the left of the Image
label. The accelerator of this command is <Key>i.
Grid
This command toggles the display of the grid. When
Page 10 (printed 8/12/93)
PIXMAP(1) X Version 11 (Release 4) PIXMAP(1)
the grid is displayed, an X mark is added at the
left of the Grid label. The accelerator of this
command is <Key>g.
Axes
This command toggles the display of axes. When axes
are displayed, an X mark is added at the left of
the Axes label. The accelerator of this command is
<Key>a.
Proportional
This command toggles the display in proportional
mode of the pixmap. Proportional mode means that
the Pixmap widget won't try to fit all the
available space within the interface and will
rather display each pixel in a square, probably
leaving some space around the pixmap widget. When
the proportional mode is active, an X mark is added
at the left of the Proportional label. The
accelerator of this command is <Key>p.
Zoom
This command is used to zoom some pixels of the
current pixmap. The zooming region has to be
selected by the use as a rectangle region just as
if he was marking a region (see Mark command). The
operation can be interrupted by invoking any other
command. When a region is zoomed, an X mark is
added at the left of the Zoom label. Invoking once
again the Zoom command zooms out. The accelerator
of this command is <Key>z.
Zoom In
This command is used to incrementaly zoom into the
current pixmap. This side effect of this is to
enlarge the size of a square used to represent a
single pixel. The accelerator of this command is
<Key>x.
Zoom Out
This command is used to incrementaly zoom out of
the current pixmap. This side effect of this is to
reduce the size of a square used to represent a
single pixel. The accelerator of this command is
<Key>y.
Zooming Factor
The command pops up a dialog window in which the
user can edit the current zooming factor. The
zooming factor is the size of a square used to
represent a single pixel. Enlarging the zooming
factor will zoom into the current pixmap, while
Page 11 (printed 8/12/93)
PIXMAP(1) X Version 11 (Release 4) PIXMAP(1)
reducing it will zoom out of the pixmap. The
accelerator of this command is <Key>f.
Cut When a region is marked, this operation is active.
It is used to cut the contents of the region to put
it in the Cut&Paste buffer. The Paste command now
becomes active and the marked region is unmarked.
The pixels in the marked region are cleared. This
command acts as the Move one when a region is
already marked. The accelerator of this command is
Ctrl<Key>c.
Copy
When a region is marked, this operation is active.
It is used to copy the contents of the region in
the Cut&Paste buffer. The Paste command now becomes
active and the marked region is unmarked. This
command acts as the Copy command of the left border
when a region is already marked. The accelerator
of this command is Ctrl<Key>x.
Paste
When a region has been cut or copied in the
Cut&Paste buffer, this command is active and can be
used to paste the contents of the Cut&Paste buffer
where the mouse button is clicked. The paste
operation takes care of the button used to specify
the point where to paste the buffer. The button can
remain pressed to move the buffer around and then
be released to paste the buffer at the current
location. A Copy and Paste operation can be
accelerated by Ctrl<Btn2Down> to intiate the
operation and Ctrl<Btn2Up> to finish the operation,
i.e., paste the buffer. The accelerator of this
command is Ctrl<Key>p.
Crop
When a region is marked, or a file has been
inserted in the Cut&Paste buffer, this command will
exchange the current pixmap with the marked region,
or the Cut&Paste buffer. Cropping twice does
nothing. The accelerator of this command is
Ctrl<Key>o.
Foreground Color MENU
Add color...
This command is used to add a new color in the
Color Panel (see below). The color name is
specified in the dialog window which pops up either
by a real color name found in rgb.txt file or by a
string like #rrggbb where rr, gg and bb represent
Page 12 (printed 8/12/93)
PIXMAP(1) X Version 11 (Release 4) PIXMAP(1)
the red, green and blue components of the color in
hexadecimal format. The operation can be
interrupted with the Cancel button of the dialog
window. The accelerator of this command is
Ctrl<Key>a.
Symbolic name...
This command is used to set the symbolic name of
the current color. The symbolic name is entered in
the dialog window which pops up. The operation can
be interrupted with the Cancel button of the dialog
window. The accelerator of this command is
Ctrl<Key>s.
Monochrome name...
This command is used to set the monochrome name of
the current color, i.e., the name of the color to
use on monochrome displays. The monochrome name is
entered in the dialog window which pops up. The
operation can be interrupted with the Cancel button
of the dialog window. The accelerator of this
command is Ctrl<Key>m.
Grey scale 4 name...
This command is used to set the grey scale 4 name
of the current color, i.e., the name of the color
to use on grey scale 4 displays. The grey scale 4
name is entered in the dialog window which pops up.
The operation can be interrupted with the Cancel
button of the dialog window. The accelerator of
this command is Ctrl<Key>4.
Grey scale name...
This command is used to set the grey scale name of
the current color, i.e., the name of the color to
use on grey scale (with more then 4 levels)
displays. The grey scale name is entered in the
dialog window which pops up. The operation can be
interrupted with the Cancel button of the dialog
window. The accelerator of this command is
Ctrl<Key>g.
Color name...
This command is used to set the color name of the
current color. This change will be considered when
saving the pixmap but to remain visible, it affects
the label of the menu item of the color. This is
useful to directly change a specific color for
another one or to allow multiple symbols to
represent the same color (the color can be the same
on color display but change on grey scale or
monochrome ones). The color name is entered in the
Page 13 (printed 8/12/93)
PIXMAP(1) X Version 11 (Release 4) PIXMAP(1)
dialog window which pops up. The operation can be
interrupted with the Cancel button of the dialog
window. The None (not case sensitive) name is used
to change the pixel representing the transparent
color. The accelerator of this command is
Ctrl<Key>n.
Xpm Extensions MENU
Add Extension...
This command pops up a dialog window into which the
user provides a name for an extension to be added
in the current pixmap extensions list. The
operation can be interrupted with the Cancel button
of the dialog window. If the user confirms with the
Okay button, another dialog windows pops up where
the user can edit the extension contents. When the
user clicks on the Cancel button into this
extension editing window, the edit operation is
interrupted but the extension is added to the
extensions list of the current pixmap. If the user
wishes to abort the Add Extension... operation,
he/she needs to click on the Remove button. The
edition can otherwise be confirmed by clicking on
the Okay button.
Any extension name
WHen an extension is added in the extensions list
of the current pixmap, its name appears in the Xpm
Extensions menu. When selected in the menu, the
extension edition window pops up. See above for its
description.
In addition the Motif version defines the status label as
two active buttons which operate as Filename... and
Resize... commands.
COLOR PANEL
Colors in pixmap are presented in the Color Panel. Each
loaded color is associated a square button, filled with the
color pixel. Scrollbars around the panel allow to scan the
whole panel. To choose a color for drawing, the user must
click on a color button. At this time, the current name of
the color is displayed as the title of the Foreground Color
menu. A color can also be selected by using Shift<BtnDown>
on a pixel of the current pixmap which color should be used.
This accelerator is very useful when modifying small parts
of a pixmap locally.
FILE FORMAT
The Save or Save As... commands store pixmaps using the
format defined by Arnaud Le Hors in his Xpm library. Each
Page 14 (printed 8/12/93)
PIXMAP(1) X Version 11 (Release 4) PIXMAP(1)
pixmap is a C string array variable that can be included and
used within programs, or referred to by X Toolkit pixmap
resources (assuming that a String to Pixmap converter has
been registered on the server). Here is an example of a
pixmap file:
/* XPM */
static char * plaid[] = {
/* plaid pixmap
* width height ncolors chars_per_pixel */
"22 22 4 2 ",
/* colors
*/
" c red m white s light_color ",
"Y c yellow m black s lines_in_mix ",
"+ c yellow m white s lines_in_dark ",
"x m black s dark_color ",
/* pixels */
"x x x x x x x x x x x x + x x x x x ",
" x x x x x x x x x x x x x x x x ",
"x x x x x x x x x x x x + x x x x x ",
" x x x x x x x x x x x x x x x x ",
"x x x x x x x x x x x x + x x x x x ",
"Y Y Y Y Y x Y Y Y Y Y + x + x + x + x + x + ",
"x x x x x x x x x x x x + x x x x x ",
" x x x x x x x x x x x x x x x x ",
"x x x x x x x x x x x x + x x x x x ",
" x x x x x x x x x x x x x x x x ",
"x x x x x x x x x x x x + x x x x x ",
" x x x x Y x x x ",
" x x x Y x x ",
" x x x x Y x x x ",
" x x x Y x x ",
" x x x x Y x x x ",
"x x x x x x x x x x x x x x x x x x x x x x ",
" x x x x Y x x x ",
" x x x Y x x ",
" x x x x Y x x x ",
" x x x Y x x ",
" x x x x Y x x x "
} ;
The plaid name used to reference the pixmap variable is
constructed from the name of the file in which is saved the
pixmap. Any directories are stripped off the front of the
name and any suffix beginning with a period is stripped off
the end.
The pixmap variable is a string array in which the first
string of the array contains the width, height, number of
colors and number of characters per pixel.
Page 15 (printed 8/12/93)
PIXMAP(1) X Version 11 (Release 4) PIXMAP(1)
The following strings represent the color descriptions, one
string per color. A color description can be composed of one
or more characters that represent a pixel, and color display
name preceded by the `c' character, and/or a symbolic name
preceded by the `s' character, and/or a monochrome display
name preceded by the `m' character, and or a grey scale 4
levels display name preceded by the string `g4' , and/or a
grey scale display name preceded by the aharacter `g',
specified in any order.
Following color description strings, each string represent a
line of the pixmap, composed of symbolic characters assigned
to colors.
USING PIXMAPS IN PROGRAMS
The format of pixmap files is designed to make pixmaps easy
to use within X programs, whatever your display is. The
following code could be used to create a pixmap to use as a
window background, using the enhanced Xpm library from
Groupe Bull and assuming that the pixmap was stored in a
file name plaid.xpm:
#include "plaid.xpm"
Pixmap pixmap;
XpmCreatePixmapFromData (display, drawable, plaid, &pixmap,
&pixmap_mask, &attributes);
Additional routines are available for reading in pixmap
files and returning the data in the file in Pixmaps.
WIDGET HIERARCHY
The hierarchy of the pixmap editor is discribed here in
order to configure the editor by means of X resources in a
.Xdefaults file. The first widget class is the Athena
version one, while the second one, seperated by a |
character, is the Motif version one.
Pixmap pixmap
Paned|RowColumn parent
Form|RowColumn formy
Command|CascadeButtonGadget infoButton
MenuButton|CascadeButtonGadget fileButton
SimpleMenu|RowColumn fileMenu
SmeBSB|PushButtonGadget load
SmeBSB|PushButtonGadget insert
SmeBSB|PushButtonGadget save
SmeBSB|PushButtonGadget saveAs
SmeLine|SeparatorGadget line
SmeBSB|PushButtonGadget resize
Page 16 (printed 8/12/93)
PIXMAP(1) X Version 11 (Release 4) PIXMAP(1)
SmeBSB|PushButtonGadget rescale
SmeBSB|PushButtonGadget filename
SmeBSB|PushButtonGadget hintsCmt
SmeBSB|PushButtonGadget colorsCmt
SmeBSB|PushButtonGadget pixelsCmt
SmeLine|SeparatorGadget line
SmeBSB|PushButtonGadget quit
MenuButton|CascadeButtonGadget editButton
SimpleMenu|RowColumn editMenu
SmeBSB|ToggleButtonGadget image
SmeLine|SeparatorGadget line
SmeBSB|ToggleButtonGadget grid
SmeBSB|ToggleButtonGadget axes
SmeBSB|ToggleButtonGadget proportional
SmeBSB|ToggleButtonGadget zoom
SmeBSB|PushButtonGadget zoomIn
SmeBSB|PushButtonGadget zoomOut
SmeBSB|PushButtonGadget zoomFactor
SmeLine|SeparatorGadget line
SmeBSB|PushButtonGadget cut
SmeBSB|PushButtonGadget copy
SmeBSB|PushButtonGadget paste
SmeBSB|PushButtonGadget crop
MenuButton|CascadeButtonGadget fgButton
SimpleMenu|RowColumn fgMenu
SmeBSB|PushButtonGadget addColor
SmeBSB|PushButtonGadget symbolicName
SmeBSB|PushButtonGadget monochromeName
SmeBSB|PushButtonGadget g4Name
SmeBSB|PushButtonGadget gName
MenuButton|CascadeButtonGadget extensionButton
SimpleMenu|RowColumn extensionMenu
SmeBSB|PushButtonGadget addExtension
SmeBSB|PushButtonGadget <extension_name>
.
.
.
Label|CascadeButtonGadget status
|CascadeButtonGadget statusb
Paned|Form pane
Form|RowColumn form
Command|PushButtonGadget undo
Command|PushButtonGadget clear
Command|PushButtonGadget set
Command|PushButtonGadget redraw
Toggle|ToggleButtonGadget copy
Toggle|ToggleButtonGadget move
Toggle|ToggleButtonGadget mark
Command|PushButtonGadget unmark
|RowColumn formh
Command|PushButtonGadget flipHoriz
Command|PushButtonGadget up
Page 17 (printed 8/12/93)
PIXMAP(1) X Version 11 (Release 4) PIXMAP(1)
Command|PushButtonGadget flipVert
|RowColumn formh
Command|PushButtonGadget left
Command|PushButtonGadget fold
Command|PushButtonGadget right
|RowColumn formh
Command|PushButtonGadget rotateLeft
Command|PushButtonGadget down
Command|PushButtonGadget rotateRight
Toggle|ToggleButtonGadget point
Toggle|ToggleButtonGadget line
Toggle|ToggleButtonGadget rectangle
Toggle|ToggleButtonGadget filledRectangle
Toggle|ToggleButtonGadget circle
Toggle|ToggleButtonGadget filledCircle
Toggle|ToggleButtonGadget floodFill
Toggle|ToggleButtonGadget setHotSpot
Command|PushButtonGadget clearHotSpot
Toggle|ToggleButtonGadget setPort
Toggle|ToggleButtonGadget clearPort
Toggle|ToggleButtonGadget movePort
Toggle|ToggleButtonGadget portInfo
Paned|PanedWindow vPane
ViewPort|ScrolledWindow colorView
Box|RowColumn colorPane
Command|PushButton <color_name>
.
.
.
ViewPort|ScrolledWindow pixmapView
Pixmap|Pixmap pixmap
TransientShell|TransientShell image
Label|Label label
PopupShell|SelectionBox info
Dialog| dialog
Label| label
Text| value
Command| Okay
PopupShell|SelectionBox input
Dialog| dialog
Label| label
Text| value
Command| Okay
Command| Cancel
PopupShell|SelectionBox file
Dialog| dialog
Label| label
Text| value
Command| Okay
Command| Cancel
PopupShell|SelectionBox error
Dialog| dialog
Page 18 (printed 8/12/93)
PIXMAP(1) X Version 11 (Release 4) PIXMAP(1)
Label| label
Command| Abort
Command| Retry
PopupShell|SelectionBox qsave
Dialog| dialog
Label| label
Text| value
Command| Yes
Command| No
Command| Cancel
PopupShell|PopupShell extEditorShell|extEditor_popup
Form|Form extEditor
Label|Label name
AsciiText|ScrolledText text
Command|PushButtonGadget ok
Command|PushButtonGadget cancel
Command|PushButtonGadget remove
Lines where only appears one or the other type of a widget
(like Dialog| or |CascadeButtonGadget) mean that the widget
doesn't exist in one or the other version. In the case of
dialogs in the Motif version, the widgets are created by
means of convenient routines which assign the name of the
widget depending on the name of the dialog. By the way, we
can't provide with a list of types and names for the
substructure of dialog widgets in the Motif version.
However, these shouldn't be often modified.
X DEFAULTS
In addition to the standard Athena or Motif widgets
resources, pixmap uses the following resources for the
Pixmap widget (named pixmap):
Cursor
The cursor to use within the Pixmap widget.
Foreground
The initial foreground color for drawing.
Highlight
The highlighting color.
Framing
The framing color, used to draw grid and axes.
Transparent
The color representing transparent pixels.
Proportional
Toggles initial proportional display mode.
Grid
Page 19 (printed 8/12/93)
PIXMAP(1) X Version 11 (Release 4) PIXMAP(1)
Toggles initial grid display.
GridTolerance
Determines when to display grid according to SquareSize.
Stippled
Suppress stipple drawing of transparent pixels.
Stipple
Depth 1 pixmap to use to draw transparent pixels
stippled.
Axes
Toggles axes display.
Resize
Toggles Pixmap widget resize when requesting by window
manager.
Distance
The margin around Pixmap widget.
SquareSize
The size in screen points used to display each pixmap
pixels.
PixmapWidth
The initial width of the pixmap.
PixmapHeight
The initial height of the pixmap.
Button1Action
The action associated to mouse button 1 (between Set,
Invert and Clear).
Button2Action
The action associated to mouse button 2 (between Set,
Invert and Clear).
Button3Action
The action associated to mouse button 3 (between Set,
Invert and Clear).
Button4Action
The action associated to mouse button 4 (between Set,
Invert and Clear).
Button5Action
The action associated to mouse button 5 (between Set,
Invert and Clear).
Page 20 (printed 8/12/93)
PIXMAP(1) X Version 11 (Release 4) PIXMAP(1)
Filename
The initial file to load.
AddColorNtfyProc
The procedure to call when reading a pixmap file to
notify color loading. It is strongly advised not to
change this resource.
ExtensionNtfyProc
The procedure to call when reading a pixmap file to
notify extension loading. It is strongly advised not to
change this resource.
SEE ALSO
X(1), Xpm library manual, Xlib - C Language X Interface
(particularly the section on Manipulating Pixmaps)
BUGS
If you move the pointer too fast while holding a pointer
button down, some pixels may be missed. This is caused by
limitations in how frequently the X server can sample the
pointer location.
Loading a pixmap file where the same color is used more than
once with different symbols and descriptions, and wrinting
it will loose information concerning the color used more
than once. The pixmap file plaid given as an example in this
man won't be saved that way by pixmap.
Accelerators to menu operations don't seem to work with
Athena version.
In the Motif version, the Filename... and Resize...
commands open their respective dialog window in a strange
mode. The user has to voluntary (;-) give the focus to the
text widget inside to be able to change its content.
COPYRIGHT
Copyright 1991, Lionel Mallet.
AUTHOR
pixmap by Lionel Mallet - Simulog. Extension edition and
customized Port editor by Tim Wise - SES Inc.
Page 21 (printed 8/12/93)